Method and apparatus for predicting  the impact of security incidents in computer systems

ABSTRACT

Systems or methods gather information within a network of computers regarding the distribution of documents to calculate the impact of a cyber security incident for a given computer. Specific embodiments analyze word usage within data files and to determine that data files are different versions of a document and use presence of documents on a given computer to determine the impact of a security breach at that computer.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of application Ser. No. 13/494,067, filed on Jun. 12, 2012, now U.S. Pat. No. 8,893,281, issued on Nov. 18, 2014.

BACKGROUND

1. Field of Invention

This invention relates to computer applications which protect a corporate enterprise from security incidents, including unauthorized intrusions and malicious computer programs.

2. Description of Prior Art

The foundation of a good cyber-security policy for any corporate or government enterprise is a security risk assessment: the probability of a security incident and the impact if it were to occur. The amount of risk that can be tolerated and how to mitigate the risk can be determined based upon the risk assessment.

A security risk assessment is difficult to perform, due in part to the difficulty of assessing impact. The impact of a security incident is most often related to the data which could be compromised, and the most difficult data to assess are corporate secrets. Corporate secrets are often located in text documents, digital slide presentations and spreadsheets. It is difficult locating and assessing the value of these documents throughout a large enterprise.

OBJECTS AND ADVANTAGES

Accordingly, we claim the following as our objects and advantages of our invention:

-   -   1. To automatically and continuously discover documents within         an enterprise,     -   2. mathematically estimate the value of these documents,     -   3. Calculate the impact of a security incident for computers         with these documents

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1, System diagram

FIG. 2, Database Schema of the system.

LIST OF OBJECTS IN FIGURES

-   10 Computers within the enterprise for which impact is calculated -   20 Agent which runs on each computer to read and parse data files -   30 Locally attached disk drive with data files to be analyzed -   40 Database were data is stored about computers, data files,     documents and their values -   50 Computer which calculates distance (similarity) between data     files, value of documents and impact to computers -   60 Schema for database 50 -   100 Main table for data files linked to computers -   120 Linking table between data files and words. Captures the number     of times each word can be found in the data file -   130 Table of all words found within all data files -   140 Document table, which is used to identify data files which are     different versions of the same document and assign a value to the     document, -   150 Group table, which is used to identify a group of computers     defined by their user's rank, department or business function, -   160 Value of a group

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Impact of a security breach is calculated by analysis of data files present on computers within an enterprise 10. Each computer has a program agent 20 which reads data files on disk drives 30 attached to the computer. The agent maybe a Windows NT Service in the case of a Windows operating system, or a demon in the case of a Linux operating system. The agent performs an analysis of words and sends the information to a database 40 with schema 60. A computer 50 reads the information in the database, determines the distribution for each document, calculates values for each documents based upon its distribution, calculates the impact for each computer with an agent, and saves the information back into the database. Impact and document values for each computer can then be read from the database in order to perform a risk assessment.

Operation

The invention calculates impact of a security breach in the three steps: 1) analyze word usage to identify different versions of the same documents, 2) analyze the distribution of documents to predict their value and 3) add together the value of all documents on a computer to predict the impact of a cyber security breach. Documents include all data files which can contain words such as text documents like Microsoft Word, electronic slides such as Microsoft PowerPoint and spreadsheets such as Microsoft Excel.

Identification of Documents Through Analyze of Word Usage

As documents circulate within an enterprise, they may undergo revision and modification. In order to accurately assess the distribution of a document, all versions of a document must be recognized as the same document. Analysis of word usage is used to identify all versions of a document.

To perform word usage analysis, each new data file is read and the file name is recorded in table 100, along with the directory and a link to the computer; words in the document are parsed and the number of times each word appears is counted and recorded 120. Note that all words across all documents are recorded 130, and each document will have a value for every word, with a value of zero for words which cannot be found in the document.

The distance, a measure of similarity, between data files is calculated using equation 1a and 1b. Equation 1a calculates the normalizing value N_(f) which is the sum of the word count for all words in data file f, and where w_(f) is the number of times word w is found in data file f. Equation 1b calculates D_(n,m) which is the distance between data files n and m. Data files which are within some threshold distance from one another are presumed to be the same document. Note that N_(f) therefore becomes N_(m) and N_(m) in equation 1b.

$\begin{matrix} {N_{f} = {\sum\limits_{f}w_{f}}} & {{Equation}\mspace{14mu} 1a} \\ {D_{n,m} = \sqrt{\sum\left( {{w_{n}\text{/}N_{n}} - {w_{m}\text{/}N_{m}}} \right)^{2}}} & {{Equation}\mspace{14mu} 1b} \end{matrix}$

By using equation 1b, to find similar data files within the enterprise, data files can be organized into documents in the database, to determine their distribution and subsequently their value. Following are the steps to organize data files together into documents. Note that distance D_(n,m) in equation 1b is calculated in step 5.

Steps to Organize Data Files into Documents

Step Activity 1 Delete all rows in the following tables: DOC_Document (140) and DOF_DocumentDataFile (150) 2 Fetch the next data file from DAC_DataFileComputer (100), or end if no more data files. 3 Go to step 2 if data file is already attached to a document in the table DOC_Document (140) through linking table DOF_DocumentDataFile (150) 4 Insert a new row in table DOC Document (140) and a linking row in table DOF_DocumentDataFile (150) 5 Find all data files which are within the distance threshold and link these to the row in table DOC_Document from step 3 by adding a linking row in DOF_DocumentDataFile (150) 6 Go to step 2

The Equations 1a and 1b can be implemented with database schema 60 by using SQL 1a and 1b, were SQL 1a can be used to calculate the normalizing values in equation 1a or variables @N and @M used in SQL 1b, and where SQL 1b can be used to calculate distance between data files @DataFile_n and @DataFile_m.

SQL 1a:   -- Normalizing value N_(f) and values @N and @M in SQL 1b   SELECT    SUM(DAW_Count)   FROM    DAW_DataFileWord   WHERE    DAW_DAC_DataFileComputerID=@DataFile SQL 1b:   -- Distance value D_(n,m) between data files n and m   SELECT    SQRT(SUM(SQUARE(n.DAW_Count/@N-m.DAW_Count/    @M) ) )   FROM    DAW_DataFileWord     INNER JOIN DAC_DataFileComputer n     ON DAW_DAC_DataFileComputerID=     n.DAC_DataFileComputerID     INNER JOIN DAC_DataFileComputer m     ON DAW_DAC_DataFileComputerID=     m.DAC_DataFileComputerID   WHERE    n.DAW_WOR_WordID=m.DAW_WOR_WordID    AND n.DAW_DAC_DataFileComputerID=@DataFile_n    AND m.DAW_DAC_DataFileComputerID=@DataFile_m

Calculate Document Value Based on Distribution

In order to calculate the value of documents, computers within an enterprise are organized into groups, where each computer is assigned to one or more groups. Groups may be departments within an organization such as the Human Resource department (HR), but they may also be artificial collections such as the most senior staff of a corporation, the CEO, CFO, CIO, CTO and COO (CXO). Groups are assigned values according to the value of documents they might produced. For example, the CXO group will have a higher value than the HR group since the CXO group is more likely to produce documents with company secrets.

In the database schema (60), groups are created in the GRO_Group table (150) with their assigned values (160), and computers are organized into groups through the linking table GRC_GroupComputer (170).

The value V_(d,g) of a document d is calculated for each group g according to equation 2a, where K_(g) (160) is the value for group g, N_(d,g) is the number of computers in group g where document d has appeared, and the denominator of equation 2a is the greater of two values N the total number of computers across all groups where the document has appeared or M_(g) the total number of computers within group g. The affect of the denominator in equation 2a is to devalue documents which are widely distributed or documents which are not distributed at all.

V _(d,g) =K _(g) ×N _(d,g)/(NνM _(g))  Equation 2a:

Each document therefore has a value for each group, with a value of zero for groups where the document does not appear. Equation 2b, assigns to document d a final value which is the highest value found for this document across all groups. This value is recorded in the DOC_Value column of database table DOC_Document (140).

V _(d)=Max_(d)(V _(d,g))  Equation 2b:

The value V_(d,g) for each document can be calculated with schema 60 by using SQL 2a-2c, where output from SQL 2a is the value N_(d,g), the output from SQL 2b is the value M_(g), and the output from SQL 2c is the value N.

SQL 2a:   -- Computers(N_(g)) in group=@Group which have document=@Document   SELECT    DISTINCT COM_ComputerID   FROM    DOC_Document     INNER JOIN DOF_DocumentDataFile     ON DOF_DOC_DocumentID=DOC_DocumentID     INNER JOIN DAC_DataFileComputer     ON DAC_DataFileComputerID=     DOF_DAC_DataFileComputerID     INNER JOIN GRC_GroupComputer     ON DAC_COM_ComputerID=GRC_COM_ComputerID   WHERE    GRC_GRO_GroupID=@Group    AND DOC_DocumentID=@Document SQL 2b:   -- Total Computers(M_(g)) in group=@Group   SELECT    COUNT(GRC_COM_ComputerID) AS Mg   FROM    GRC_GroupComputer   WHERE    GRC_GRO_GroupID=@Group SQL 2c:   -- Total Computers(N) in all groups with document=@Document   SELECT    DISTINCT COM_ComputerID   FROM    DOC_Document     INNER JOIN DOF_DocumentDataFile     ON DOF_DOC_DocumentID=DOC_DocumentID     INNER JOIN DAC_DataFileComputer     ON DAC_DataFileComputerID=     DOF_DAC_DataFileComputerID   WHERE    DOC_DocumentID=@Document

Calculate Impact Based Upon Documents Present

Finally, the impact I_(c) of cyber security incident for a computer c can be calculated using equation 3, which sums the value of documents present on that computer.

$\begin{matrix} {I_{c} = {\sum\limits_{c}V_{d}}} & {{Equation}\mspace{14mu} 3} \end{matrix}$

Impact I_(c) for each computer can be calculated with schema 60 by using SQL 3.

SQL 3: SELECT  SUM(GRO_Value) AS Impact  ,COM_ComputerIdentifier FROM  COM_Computer   INNER JOIN DAC_DataFileComputer   ON DAC_COM_ComputerID=COM_ComputerID   INNER JOIN DOF_DocumentDataFile   ON DOF_DAC_DataFileComputerID=   DAC_DataFileComputerID   INNER JOIN DOC_Document   ON DOF_DOC_DocumentID=DOC_DocumentID GROUP BY  COM_ComputerIdentifier 

1. A computer implemented method for predicting and outputting an impact of a security breach at a particular computer in an enterprise comprising: a. electronically accessing data files available at a plurality of computers in the enterprise, b. reading the contents of the data files and identifying data files having a threshold similarity as different versions of a document, thereby determining a plurality of documents, wherein each said document is a collection of similar data files; d. accessing data indicating group assignments of computers in said plurality of computers, the group assignments indicating criteria of the computers, d. calculating a document security value of each said documents based upon the document's distribution with respect to said computers and groups; e. predicting the impact of a security breach to said particular computer by combining document security values of documents present on said particular computer; f. outputting the predicted impact.
 2. The method of claim 5 wherein the distance function comprises: D _(n,m)=√{square root over (Σ(w _(n) /N _(n) −w _(m) /N _(m))²)} where D_(n,m) is a distance between data files n and m and where w_(n) and w_(m) are the number of times a word w appears in said data file n and m, and where N_(n) and N_(m) are values for said data file n and m, calculated with the equation: ${N_{f} = {\sum\limits_{f}w_{f}}},$ which is the sum of all words in said data file f.
 3. (canceled)
 4. The method of claim 1 further comprising determining an impact (I_(c)) for a computer (c) by: $I_{c} = {\sum\limits_{c}V_{d}}$ where (V_(d)) is a security value for a document (d).
 5. The method of claim 1 further comprising: calculating similarity between said data files based upon distance between said data files within a space defined by word dimensions, where the value of a data file in a word dimension is the number of times the word or a variation is found in said data file.
 6. The method of claim 1 further comprising: automatically and continuously discovering new data files and new documents within the enterprise.
 7. A computer implemented method for predicting and outputting an impact of a security breach at a particular computer in a computer enterprise comprising: accessing data files on a plurality of computers in the enterprise, identifying data files having a threshold similarity as different versions of a document by reading and comparing data file contents and storing document identifiers for documents; accessing group assignments of said computers, the group assignments assigning a computer to one or more of a plurality of groups, a particular group indicating rank, department, business function, user, or other criteria related to the computers, calculating a document security value of a document based upon the document's distribution within the enterprise, determining the impact of a security breach to said particular computer by combining document security values of documents present on said particular computer, and outputting the impact.
 8. The method of claim 7, further comprising determining an impact (I_(c)) for a computer (c) by: ${I_{c} = {\sum\limits_{c}V_{d}}},$ where (V_(d)) is a security value for a document (d).
 9. The method of claim 7, further wherein: accessing data files comprises reading data files from storage operatively connected to said computers.
 10. The method of claim 7, further comprising: calculating similarity between said data files based upon distance between said data files within a space defined by word dimensions, where the value of a data file in a word dimension is the number of times the word is found in said data file.
 11. A system for predicting and outputting an impact of a security breach at a particular computer in a computer network comprising: a computer application for accessing data files at a plurality of computers in the network and identifying data files having a threshold similarity as different versions of a document by comparing data file contents; a documents computer application for storing and receiving identifications of a plurality of documents and a plurality of data files representing different versions of the documents; a groups computer application for storing and receiving identifications of a plurality of computer groups and a plurality of computer devices identifications of computer devices assigned to each group; wherein groups indicate department, business function, user, user rank, user security level, etc., or other criteria related to the computers, a document security value determination computer application for calculating a document security value of a document based upon the document's distribution; and an impact prediction computer application for determining impact of a security breach to a particular computer by combining document security values of documents available at the particular computer.
 12. The system of claim 11 further comprising: a plurality of agents running on a plurality of said computers devices to read data files.
 13. The system of claim 11 further comprising: a database (40) having a schema (60) for storing data about computers, data files, documents and their values; an analysis computer (50) for calculating distance (similarity) between data files, values of documents and impacts to computers;
 14. The system of claim 11 further comprising: a table (100) for data files linked to computers; a linking table (120) for storing the number of times each word can be found in a data file; a word table (130) listing all parsed words found within all data files; a document table (140) used to identify data files that are different versions of the same document and to store a security value for the document; and a group table (150) used to identify assignments to a plurality of groups indicating computer devices' user's rank, department or business function, and for storing a value (160) of a group. 